CC=g++
LD=g++
CPPFLAGS=-g -fno-stack-protector -I/usr/include
OBJS=ActualizadorJugadores.o AnimadorElementos.o Ave.o Bloqueo.o ComandoCrearAve.o ComandoCrearLadrillo.o ComandoCrearTorta.o ComandoDeleteAve.o ComandoDeleteLadrillo.o ComandoDeleteTorta.o ComandoFinNivel.o ComandoFinPartida.o ComandoFinTramo.o ComandoLanzarLadrillo.o ComandoMover.o ComandoReparar.o ComandoSalirJuego.o ComandoServidor.o ConsumidorAcciones.o ConsumidorRespuestas.o Elemento.o Felix.o InterpreteComandosServer.o Ladrillo.o Partida.o ProductorJugadorX.o Ralph.o Semaforo.o SharedMemory.o Socket.o Thread.o ThreadMutex.o Torta.o TP4_SERVIDOR_PARTIDA.o VerificadorTorneoVivo.o Vidrio.o
LDFLAGS=-g -fno-stack-protector
LDLIBS=-L/usr/include -lpthread -lrt -lSDL -lSDL_image -lSDL_ttf

all: clean tool moveobjs

moveobjs:
	mv *.o objetos/.

clean:
	rm -f TP4_SERVIDOR_PARTIDA

tool: $(OBJS)
	$(LD) $(LDFLAGS) -o TP4_SERVIDOR_PARTIDA $(OBJS) $(LDLIBS) 

TP4_SERVIDOR_PARTIDA.o: src/TP4_SERVIDOR_PARTIDA.cpp 
	$(CC) $(CPPFLAGS) -c src/TP4_SERVIDOR_PARTIDA.cpp

Partida.o: src/Partida.cpp src/Partida.h
	$(CC) $(CPPFLAGS) -c src/Partida.cpp

ProductorJugadorX.o: src/ProductorJugadorX.cpp src/ProductorJugadorX.h
	$(CC) $(CPPFLAGS) -c src/ProductorJugadorX.cpp

VerificadorTorneoVivo.o: src/VerificadorTorneoVivo.cpp src/VerificadorTorneoVivo.h
	$(CC) $(CPPFLAGS) -c src/VerificadorTorneoVivo.cpp

ActualizadorJugadores.o: src/ActualizadorJugadores.cpp src/ActualizadorJugadores.h
	$(CC) $(CPPFLAGS) -c src/ActualizadorJugadores.cpp

AnimadorElementos.o: src/AnimadorElementos.cpp src/AnimadorElementos.h
	$(CC) $(CPPFLAGS) -c src/AnimadorElementos.cpp

ComandoCrearAve.o: src/ComandoCrearAve.cpp src/ComandoCrearAve.h
	$(CC) $(CPPFLAGS) -c src/ComandoCrearAve.cpp

ComandoCrearLadrillo.o: src/ComandoCrearLadrillo.cpp src/ComandoCrearLadrillo.h
	$(CC) $(CPPFLAGS) -c src/ComandoCrearLadrillo.cpp

ComandoCrearTorta.o: src/ComandoCrearTorta.cpp src/ComandoCrearTorta.h
	$(CC) $(CPPFLAGS) -c src/ComandoCrearTorta.cpp

ComandoDeleteAve.o: src/ComandoDeleteAve.cpp src/ComandoDeleteAve.h
	$(CC) $(CPPFLAGS) -c src/ComandoDeleteAve.cpp

ComandoDeleteLadrillo.o: src/ComandoDeleteLadrillo.cpp src/ComandoDeleteLadrillo.h
	$(CC) $(CPPFLAGS) -c src/ComandoDeleteLadrillo.cpp

ComandoDeleteTorta.o: src/ComandoDeleteTorta.cpp src/ComandoDeleteTorta.h
	$(CC) $(CPPFLAGS) -c src/ComandoDeleteTorta.cpp

ComandoFinNivel.o: src/ComandoFinNivel.cpp src/ComandoFinNivel.h
	$(CC) $(CPPFLAGS) -c src/ComandoFinNivel.cpp

ComandoFinPartida.o: src/ComandoFinPartida.cpp src/ComandoFinPartida.h
	$(CC) $(CPPFLAGS) -c src/ComandoFinPartida.cpp

ComandoFinTramo.o: src/ComandoFinTramo.cpp src/ComandoFinTramo.h
	$(CC) $(CPPFLAGS) -c src/ComandoFinTramo.cpp

ComandoLanzarLadrillo.o: src/ComandoLanzarLadrillo.cpp src/ComandoLanzarLadrillo.h
	$(CC) $(CPPFLAGS) -c src/ComandoLanzarLadrillo.cpp

ComandoMover.o: src/ComandoMover.cpp src/ComandoMover.h
	$(CC) $(CPPFLAGS) -c src/ComandoMover.cpp

ComandoReparar.o: src/ComandoReparar.cpp src/ComandoReparar.h
	$(CC) $(CPPFLAGS) -c src/ComandoReparar.cpp

ComandoSalirJuego.o: src/ComandoSalirJuego.cpp src/ComandoSalirJuego.h
	$(CC) $(CPPFLAGS) -c src/ComandoSalirJuego.cpp

ComandoServidor.o: src/ComandoServidor.cpp src/ComandoServidor.h
	$(CC) $(CPPFLAGS) -c src/ComandoServidor.cpp

ConsumidorAcciones.o: src/ConsumidorAcciones.cpp src/ConsumidorAcciones.h
	$(CC) $(CPPFLAGS) -c src/ConsumidorAcciones.cpp

ConsumidorRespuestas.o: src/ConsumidorRespuestas.cpp src/ConsumidorRespuestas.h
	$(CC) $(CPPFLAGS) -c src/ConsumidorRespuestas.cpp

InterpreteComandosServer.o: src/InterpreteComandosServer.cpp src/InterpreteComandosServer.h
	$(CC) $(CPPFLAGS) -c src/InterpreteComandosServer.cpp

Elemento.o: src/Elemento.cpp src/Elemento.h
	$(CC) $(CPPFLAGS) -c src/Elemento.cpp

Ave.o: src/Ave.cpp src/Ave.h
	$(CC) $(CPPFLAGS) -c src/Ave.cpp

Bloqueo.o: src/Bloqueo.cpp src/Bloqueo.h
	$(CC) $(CPPFLAGS) -c src/Bloqueo.cpp

Felix.o: src/Felix.cpp src/Felix.h
	$(CC) $(CPPFLAGS) -c src/Felix.cpp

Ladrillo.o: src/Ladrillo.cpp src/Ladrillo.h
	$(CC) $(CPPFLAGS) -c src/Ladrillo.cpp

Ralph.o: src/Ralph.cpp src/Ralph.h
	$(CC) $(CPPFLAGS) -c src/Ralph.cpp
Torta.o: src/Torta.cpp src/Torta.h
	$(CC) $(CPPFLAGS) -c src/Torta.cpp

Vidrio.o: src/Vidrio.cpp src/Vidrio.h
	$(CC) $(CPPFLAGS) -c src/Vidrio.cpp

Semaforo.o: src/Semaforo.cpp src/Semaforo.h
	$(CC) $(CPPFLAGS) -c src/Semaforo.cpp

SharedMemory.o: src/SharedMemory.cpp src/SharedMemory.h
	$(CC) $(CPPFLAGS) -c src/SharedMemory.cpp

Socket.o: src/Socket.cpp src/Socket.h
	$(CC) $(CPPFLAGS) -c src/Socket.cpp

Thread.o: src/Thread.cpp src/Thread.h
	$(CC) $(CPPFLAGS) -c src/Thread.cpp

ThreadMutex.o: src/ThreadMutex.cpp src/ThreadMutex.h
	$(CC) $(CPPFLAGS) -c src/ThreadMutex.cpp
